Communication networks, such as wireless communication networks, broadband networks, and other suitable networks are utilized in connection with transferring data, wherein data can include word processing files, streaming video, multimedia files, voice data, and/or the like. Other networks such as the Internet provide similar data capabilities where substantially any type of data can be transferred between users. Generally, communications between parties are established across such networks in a peer-to-peer manner. Thus, if one user wants to communicate data to one or more other users, the user packages the data (such as in an e-mail), determines who the other users are to receive the package, defines their respective e-mail addresses, and then sends the package to the other users. Similarly, if a text message were to be transmitted from a cell phone, the user would then dial another phone and send the text message via peer-to-peer principles. In an Internet context, this may include transferring and sharing video or other type media between Internet peers.
A peer-to-peer (or “P2P”) computer network relies primarily on the computing power and bandwidth of the participants in the network rather than concentrating it in relatively few servers. Peer-to-peer networks are typically used for connecting nodes via largely ad hoc connections. Such networks are useful for many purposes. Common uses include sharing content files containing audio, video, data or other media in digital format as well as real time data, such as telephony traffic.
A pure peer-to-peer network generally does not employ the notion of clients or servers, yet even in the client/Server environment—sharing of content can entail sending content from the sender-client to the server and then offering it (pull or push) to the recipient client. Typically, equal peer nodes that simultaneously function as both “clients” and “servers” to the other nodes on the network facilitate peer-to-peer exchanges. This model of network arrangement differs from the client-server model where communication is usually to and from a central server. A typical example for a non peer-to-peer file transfer is an FTP server where the client and server programs are quite distinct, and the clients initiate the download/uploads and the servers react to and satisfy these requests.
Peer-to-peer architecture embodies one of the key technical concepts of the Internet. More recently, the concept has achieved recognition in the general public in the context of the absence of central indexing servers in architectures used for exchanging multimedia files. One of the major drawbacks of peer-to-peer exchanges is the requirement for large bandwidth to communicate data between an ever growing number of users. As these bandwidth pressures increase, there is a need to exchange data between users while mitigating peer-to-peer exchanges and relieving pressures on components, such as centralized servers, to facilitate such data exchange.